

function createAndBindElements(configs) {
    configs.forEach(config => {
        // 查找父元素
        const parent = document.querySelector(config.parentSelector);
        if (!parent) {
            console.error(`未找到父元素: ${config.parentSelector}`);
            return;
        }

        // 插入HTML
        const html = config.html;
        parent.insertAdjacentHTML('beforeend', html);


        // 添加事件监听器
        if (config.eventType && config.eventHandler) {
            document.querySelector(`#${config.id}`).addEventListener(config.eventType, function(event) {
                // 调用处理函数，如果提供了函数名则通过eval或更安全的机制来调用
                if (typeof config.eventHandler === 'function') {
                    config.eventHandler(event, config.id, this.value);
                } else if (typeof config.eventHandler === 'string') {
                    // 注意：eval可以执行任意代码，这里仅作为示例，实际使用中应避免或谨慎使用
                    // 推荐将处理函数注册到全局或某个命名空间中，然后直接引用
                    window[config.eventHandler](event, config.id, this.value);
                }
            });
        }
    });
}

// 示例配置数组
const configs = [
    {
        parentSelector: '.mainTd_2_3 div',
        html: `
            <select style="width: 100%;" id="test">
                <option >-- 请选择--</option>
                <option value="volvo">Volvo</option>
                <!-- 其他选项 -->
            </select>
        `,
        id: 'test',
        eventType: 'change',
        eventHandler: 'handleChange' // 或者可以直接传入函数
    },
    // 其他配置...
    {
        parentSelector: '.mainTd_3_3 div',
        html: `
            <select style="width: 100%;" id="fruit">
                <option >-- 请选择--</option>
                <option value="apple">苹果</option>
                <!-- 其他选项 -->
            </select>
        `,
        id: 'fruit',
        eventType: 'change',
        eventHandler: function(event, id, value) {
            console.log(`Fruit changed to ${value} with ID ${id}`);
            // 或者调用其他函数
        }
    },
    {
        parentSelector: '.mainTd_4_1 div',
        html: '<input id="price" placeholder="请输入价格"/>',
        id: 'price',
        eventType: 'input',
        eventHandler: 'handlePriceChange' // 或者直接传入函数
    }
];

// 调用函数
createAndBindElements(configs);

// 示例处理函数
function handleChange(event, id, value) {
    console.log(`Value changed to ${value} for ${id}`);
}

function handlePriceChange(event, id, value) {
    console.log(`Price changed to ${value} for ${id}`);
}
